1. Field of the Invention
The present invention relates to a method for embedding a plurality of different two-dimensional codes in an image, and in particular to a method for embedding a new two-dimensional code in an image so as not to corrupt a two-dimensional code which has already been embedded in the image.
2. Description of the Related Art
A two-dimensional code technology exists for embedding electronic data in a paper by printing an image pattern generated by encoding the electronic data, optically reading the image, and extracting the electronic data. It has become possible to embed more electronic information in a paper by embedding information using a two-dimensional code.
Since a two-dimensional code can be embedded and read with one machine when a copy machine having both a printing function and a scanning function is used, systems peculiar to a copy machine using a two-dimensional code have been developed. For example, a system exists for embedding information indicative of a confidential document in a printout as a two-dimensional code, determining whether or not the printout is a confidential document prohibited from being copied when copying the printout in an image forming device, and stopping the copy operation if the printout is a confidential document (Japanese Patent Laid-Open No. 2002-305646). In addition, a system exists for embedding a usage log of an image forming device in a paper document and using the usage log to track the document. Furthermore, a system exists for embedding a two-dimensional code as image information itself and printing an original image on the basis of the image information acquired by scanning the two-dimensional code (Japanese Patent Laid-Open No. 2004-153568). Furthermore, a system exists for previously storing a document in an image forming device, synthesizing the previously stored document and another document, and printing a synthesized image (Japanese Patent Laid-Open No. 2000-122837).
Optimal embedding methods are selected and used in accordance with the intended use. Two-dimensional code embedding methods can be classified into two types as follows.
TypeDescriptionFeatures(A)AResilience of aIterativetwo-dimensionaltwo-dimensional code isembeddingcode is embeddedhigh because themethoditeratively intwo-dimensional code isa whole surfaceiteratively embedded in aof a document.document. Information canbe restored even if part ofthe two-dimensional codesis lost.(B)AA lot of information can beSimpletwo-dimensionalembedded becauseembeddingcode is embeddedinformation is embedded inmethodin part of ahigh density.surface ofInformation can not bedocument.restored if part of thetwo-dimensional code islost.
FIG. 1 shows a document in which a two-dimensional code is embedded using the iterative embedding method and a document in which a two-dimensional code is embedded using the simple embedding method.
Reference numeral 10 denotes a document in which two-dimensional codes are embedded by the iterative embedding method. Each of rectangles enclosed with dotted lines in the figure is an information embedded tile. The dotted lines are not actually printed, but are shown in the figure to plainly show the presence of the information embedded tiles. The same information is embedded in all of the information embedded tiles printed in the whole surface of the document 10, so that the information can be extracted even from a part of the surface of the document. Thus, a document in which two-dimensional codes are embedded by the iterative embedding method is resilient to stains, wrinkles, etc. Furthermore, the iterative embedding method prints two-dimensional codes in a whole surface of a document and therefore often generates a pattern using dots, lines, etc. for information embedding in order to reduce the visibility of the two-dimensional codes.
On the other hand, reference numeral 20 denotes a document in which a two-dimensional code is embedded by the simple embedding method. The two-dimensional code is printed on the lower right of the document in the figure. In the case of the simple embedding method, if part of a two-dimensional code is chipped or the two-dimensional code gets dirty, information can not be extracted from the two-dimensional code. However, the simple embedding method has the advantage of embedding a large amount of information in a document because it generates a high density two-dimensional code.
A system for determining whether or not a document is confidential often uses the iterative embedding method. On the other hand, a system for embedding image information for use handles a lot of information and therefore often uses the simple embedding method.
Next, the outline of a system which is proposed in Japanese Patent Laid-Open No. 2000-122837 will be discussed. The system performs overlay (synthesizing) a previously stored document onto another document, and printing the thus acquired synthesized image. FIG. 11 is a block diagram showing a data flow of the system proposed in Japanese Paten Laid-Open No. 2000-122837. In FIG. 11, reference numeral 1003 denotes a ROM (program ROM). The ROM 1003 stores a control program including the following modules.
Reference numeral 201 denotes a form generating module for generating a form file 207. Reference numeral 202 denotes an embedded data generating module for generating an embedded data file 208. Reference numeral 203 denotes a composite file generating module for generating a composite form file 209 from the multiple form files 207 and embedded data files 208. Reference numeral 204 denotes a memory expansion module for expanding the composite form file. Reference numeral 205 denotes a sequential analysis processing module for sequentially analyzing the expanded composite form file. Reference numeral 206 denotes an overlay module for allowing a printer to perform overlay printing according to the settings acquired by analyzing the composite form file. The memory expansion module 204, the sequential analysis module 205, and the overlay module 206 are collectively referred to as a run time library module or an overlay specifying module.
Reference numeral 1002 denotes a RAM functioning as a memory into which the above modules are loaded, and a form object is stored therein. The form object is form data and embedded data (field data). Furthermore, the RAM 1002 is also a work area.
Reference numeral 1009 denotes a hard disk in which a database, an embedded data file, a form file, and a composite form file are stored. Reference numeral 207 denotes a file consisting of form data generated by the form generating module 201. Reference numeral 208 denotes an embedded data file consisting of embedded data (referred to as field data or appended data) generated by the embedded data generating module 203. Reference numeral 209 denotes a composite form file defined from multiple form files generated by the composite file generating module 203. The composite form file 209 is defined as an information file which has both of form information managing multiple types of forms as one relating continuous form, and output information of paper cassettes for output for each of the forms, and the like. Reference numeral 210 denotes a database to which the embedded data generating module 202 makes an access to generate the embedded data file 208 as discussed later.
Overlay data (including form data and embedded data) generated by respective program modules stored in the ROM 1003 is passed to an OS. The OS associates a data function (GDI function) output from an application with a common data function (DDI function) which can be recognized by an output device and outputs the data function to a printer driver 211 designated by the application. A function association component for processing this is part of the function of the OS and corresponds to a GDI of Windows. This function is publicly known and therefore the detail description regarding the function is omitted.
The printer driver 211 analyzes a data function (DDI function) input from the function association component of the OS and generates print data using a page description language (PDL) capable of print processing. The generated print data is output and sent to the printer as a printing device. The printer generates bitmap data as specified by the print data and prints out it. The printer is capable of performing overlay. The printer receives print data for a form and print data for embedding, performs overlay processing, and then prints thus acquired print data. If the printer has no overlay function, the printer driver 211 may generate print data of all pages by performing overlay processing and send the print data to the printer.
In this way, systems using two-dimensional codes use various two-dimensional codes according to their objects and therefore may use multiple different two-dimensional codes at the same time. In other words, it is possible to print multiple different two-dimensional codes on the same paper. When multiple different two-dimensional codes are used at the same time, the two-dimensional codes thereof interfere with each other and thereby information may not be able to be read from each of the two-dimensional codes. In other words, if a system using multiple different two-dimensional codes at the same time, when copying a document in which a two-dimensional code has already been embedded, performs printing while adding a new two-dimensional code thereon, the two-dimensional code already embedded may be corrupted.
Furthermore, systems using two-dimensional codes use various two-dimensional codes according to their objects and therefore may use multiple different two-dimensional codes at the same time. For example, a system exists for overlaying a document in which a two-dimensional code has already been embedded onto form data in which a two-dimensional code has already been embedded, and then prints thus acquired image. This printing system may not be able to read information from each of the two-dimensional codes because the two-dimensional codes thereof interfere with each other. In other words, after a document in which a two-dimensional code has already been embedded is overlaid onto form data in which a two-dimensional code has already been embedded, if a new two-dimensional code is added thereon for printing, the two-dimensional codes already embedded may be corrupted.
Systems making a form overlaying function unusable when making a function using a two-dimensional code effective in order to prevent the two-dimensional codes already embedded from being corrupted can be easily considered, but may impair user's convenience.